<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>

<body>
    <script>
        //在JavaScript中，一个数组可以存放多个不同数据类型的数据作为元素
        //一般而言，建议数组用来保存相同的一组数据
        // var test=['beijing',12000];
        // console.log(test[0]);
        // console.log(test[1]);


        //字面量方式创建对象
        var stu = {};//创建空对象
        stu.name = 'yyy';//添加属性
        stu.study = function () {//添加方法
            console.log(this.name + '正在学习')
        }

        var stu = new Object();//创建空对象
        stu.name = 'yyy';
        stu.sayHi = function () {
            console.log('打招呼');
        }

        //this指针在js中往往是指向window对象--浏览器窗口对象
        //定义人类
        function Human(name) {
            //添加属性
            this.name = name;//属性名  形参名
            this.sayHi = function () {
                console.log('你好');
            }
        }
        var p1 = new Human('张三');
        var p2 = new Human('李四');

        p1.sayHi();
        p2.sayHi();
        /*如果方法是构造函数中的方法，通过构造函数创建出来的多个对象，
        每个对象都有该方法的拷贝，也就是说，每个对象的方法是不同的，
        尽管方法体一样*/
        //在构造函数中不建议构造方法，只定义属性·
        console.log(p1.sayHi === p2.sayHi);//false

        //遍历对象
        //for (变量 in 对象名字)
        for (var pro in p1) {
            console.log(pro);
            console.log(p1[pro]);
        }

        //定义一个函数，此函数名也是一个对象，类型是function，理解为函数对象
    </script>
</body>

</html>